package com.ajavaer.framework.im.tencent.request.data;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;

public class GetGroupMemberInfoData implements TencentImRequestData{
    /**
     * 群组 ID（必填）
     */
    @JsonProperty("GroupId")
    private String groupId;
    /**
     * 如果需要成员信息，请添加此数组
     * ["Account", // 成员ID <br/>
     * "Role"]
     *
     * @see <a href='https://cloud.tencent.com/document/product/269/1502#.E7.BE.A4.E6.88.90.E5.91.98.E8.B5.84.E6.96.99'>群成员资料</a>
     */
    @JsonProperty("MemberInfoFilter")
    private List<String> memberInfoFilter;
    /**
     * 群成员身份过滤器
     * <p>
     * 拉取指定身份的群成员资料。如没有填写该字段，默认为所有身份成员资料，成员身份可以为：“Owner”，“Admin”，“Member”
     * </p>
     */
    @JsonProperty("MemberRoleFilter")
    private List<String> memberRoleFilter;

    /**
     * 群成员维度自定义字段过滤，该默认情况是没有的
     *
     * @see <a href='https://cloud.tencent.com/document/product/269/1502#.E8.87.AA.E5.AE.9A.E4.B9.89.E5.AD.97.E6.AE.B5'>群成员资料</a>
     */
    @JsonProperty("AppDefinedDataFilter_GroupMember")
    private List<String> appDefinedDataFilterGroupMember;
    /**
     * 一次最多获取多少个成员的资料，不得超过10000。如果不填，则获取群内全部成员的信息
     */
    @JsonProperty("Limit")
    private Integer limit;
    /**
     * 从第几个成员开始获取，如果不填则默认为0，表示从第一个成员开始获取
     */
    @JsonProperty("Offset")
    private Integer offset;

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public String getGroupId() {
        return groupId;
    }

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    public List<String> getMemberInfoFilter() {
        return memberInfoFilter;
    }

    public void setMemberInfoFilter(List<String> memberInfoFilter) {
        this.memberInfoFilter = memberInfoFilter;
    }

    public List<String> getMemberRoleFilter() {
        return memberRoleFilter;
    }

    public void setMemberRoleFilter(List<String> memberRoleFilter) {
        this.memberRoleFilter = memberRoleFilter;
    }

    public List<String> getAppDefinedDataFilterGroupMember() {
        return appDefinedDataFilterGroupMember;
    }

    public void setAppDefinedDataFilterGroupMember(List<String> appDefinedDataFilterGroupMember) {
        this.appDefinedDataFilterGroupMember = appDefinedDataFilterGroupMember;
    }
}
